package com.miaoxun.service;

import java.util.List;
import java.util.Map;

public interface BaseService<T> {
    /**
     * 新增一个实体，方法的实现需保证：当返回true时，实体entity的id属性已被赋值。
     *
     */
    T save(T entity);

    /**
     * 根据主键删除一个实体
     *
     * @param key
     * @return
     * @author fly
     * @since
     */
    boolean deleteById(Object key);

    /**
     * @param var1
     * @return
     */
    boolean delete(T var1);



    /**
     * 根据主键更新实体全部字段
     *
     * @param entity
     * @return
     * @author fly
     * @since
     */
    boolean update(T entity);



    /**
     * 获取全部
     *
     * @return
     */
    List<T> getAll();
    /**
     * 通过主键获取
     * @Id
     * @param key
     * @return
     */
    T getModelById(Object key);


    List<T> getModelList(Map<String,String> map);

    /***
     *
     * @param Ids
     * @return
     */
    int batchRemove(Object[] Ids);
}